Summit Calculator is a line based calculator, where each line is its own calculator. The result from one line can be referenced in any other line, so complex chains of calculations can be made with small modular steps. Made with React, using Vite for bundling and unit testing.
Summit Calculator
A modern calculator with the feel of a notepad.
The idea.
How does it work?
When we want to solve a math equation on paper, we use the standard order of operations. This determines the order in which we deal with operators, exponents, brackets, etc. A computer isn't good at reading this kind of equation, so it needs to be converted to a format that it can deal with. This format is called Reverse Polish Notation, which is essentially a linear stack of instructions the computer can execute. So Summit works by running a parser every time a character is typed.
What's next?
Right now, this project functions well as a browser based app. At the moment, it will save the sheet to local storage. But in the future, I plan to build a proper backend for it using a database. This will allow a user to create an account, save multiple sheets, and share them with others. Users will also be able to save other users published sheets to their own collection. So if someone writes a restaurant tip collector you find useful, you'll be able to save it for your own use and edit it if you need.